Shell 格式化输出printf、awk

您所在的位置:网站首页 python shell命令不打印 Shell 格式化输出printf、awk

Shell 格式化输出printf、awk

2023-11-19 04:40| 来源: 网络整理| 查看: 265

目录Shell 文件的格式化与相关处理 printf、awk格式化打印printf选项与参数说明格式修饰符案例.格式化输出文件内容输出命令echo案例awk数据处理工具处理流程AWK内置变量关系表达式字段和记录分隔符变量案例1:改变输出间隔符案例2.FIELDWIDTHS的使用自定义变量数组匹配操作符~结构化命令next 跳过当前行if条件判断式循环内置函数

Shell 文件的格式化与相关处理 printf、awk 格式化打印printf

使用场景:将数据格式化输出

语法:printf '打印格式' 实际内容

选项与参数

关于格式方面的几个特殊样式 \n 换行符 \t 水平[tab]按键 \b 后退

%-ns -左对齐,没有则右对齐,输出宽度为n的字符,任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过会将内容全部显示出来。 %[格式修饰符]nd 整型输出 %ni i代表integer,多少位整数 %c 输出一个字符 %N.nf N代表共输出 N 位数,其中n位小数的

说明

1.printf不是管道命令 2.打印格式外面是单双引号都可以 3.格式只指定了一个参数,但多出来的参数仍然会按照该格式输出,格式化字符串会被重用

printf "%s\n" python shell python shell

4.如果没有参数,会用默认值代替,那么%s用null代替,%d用0代替

格式修饰符 修饰符 说明 案例 ' 将千位分组分隔符应用于输出的整数部分 printf "%'d" 1234556789012,345,567,890 - 左对齐 printf '%5s\n' 123 空格空格123 printf '%-5s' 123123 + 显示符号 printf '%+d\n' 11+11 空格 有符号值为正,显示空格,值为负显示-,+标志会覆盖空格标志 printf '% d' -11-11printf '% d\n' 3空格3 # 数字格式选择符,进制输出 下面说明 0 用0填充数字,而不是空格 printf '%05d\n' 300003 . 限制输出字符串的长度,默认长度超过设定值,字符串会全部显示出来。.n当打印的文本较长时会截断文本留下n个字符,如果“.”后没有指定宽度,默认为0,则不会打印文本。如果“.”前也指定了宽度,则会在截断文本后补足到指定的宽度。 printf "%4.2s\n" abcdc空格空格ab * 宽度在字符串或数字之前通过参数指定,可以动态的指定打印文本的宽度。 echo 5 "test"

数字格式选择

格式 说明 案例 %#o 八进制数总是以0开头 printf "%o" 123173 输入的十进制123转换为八进制173printf "%#o" 1230173 %#x、%#X 十六进制数总是以0x/0X开头 printf "%x\n" 1237bprintf "%#x\n" 1230x7b %#g、%#G 印的浮点数后面跟随0,直到满足精度所需的位数为止 printf "%#g\n" 123 123.000 案例.格式化输出文件内容 [ranan@hadoop102 ~]$ printf "%10s\t %5s\t %5\t \n" $(cat pringtf.txt) 输出命令echo

Shell中的输出命令有两个printf与echo

区别 echo printf 自动添加换行符 √ × 设置输出格式 × √

语法:echo [选项] 输出的内容

选项 -n 不要在最后自动换行 -e 进行反斜杠转义,字符串里面出现转义字符将进行转义 image

案例

输出命令执行结果

echo `date` #注意是反斜杠

输出内容到文件,文件若不存在则会创建一个文件 > 覆盖写 >> 追加写

数据流重定向

echo 123 >> text.txt

echo 输出文件内容 '3)print "x大于3";else print"x不大于3" }' x不大于3 循环

动作一句不用加分号 动作多句用分号隔开

while语法

while (条件){ 动作 }

for循环语法 for (变量;条件;计数器){ 动作 }

continue和break break 跳出循环 continue 终止当前循环

内置函数 函数 描述 int(x) x的整数部分,取靠近零一侧的最接近的整数 rand() 比0大比1小的随机浮点数

字符串函数

函数 描述 注意点 split(s,a[,r]) 将s用FS字符或正则表达式r分开放到数组中,返回值是字段总数 可以对awk的字段再进行划分


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3